# -*- coding:utf-8 -*-
# @Author: shenyuyu
# @Time: 2023/6/13 19:58
# @File: qu_3.py


"""
身份证号码可以看成是每个人的唯一标识，其中包括我们的出生地、出生日期、性别。具体规则
为，1位和2位表示省份； 3位和4位表示城市；5位和6位表示区县；7~14位表示出生日期；15 位
和16位表示出生顺序号；17 位性别标号；18 位效验码。根据该规则可以获取些我们想要的信息。
本任务要求编写一段Python 程序，将实现根据所输入的身份证号码获取对应的省份。
"""

provinces = {
    "11": "北京市", "12": "天津市", "13": "河北省", "14": "山西省", "15": "内蒙古自治区",
    "21": "辽宁省", "22": "吉林省", "23": "黑龙江省",
    "31": "上海市", "32": "江苏省", "33": "浙江省", "34": "安徽省", "35": "福建省", "36": "江西省", "37": "山东省",
    "41": "河南省", "42": "湖北省", "43": "湖南省",
    "44": "广东省", "45": "广西壮族自治区", "46": "海南省",
    "51": "四川省", "52": "贵州省", "53": "云南省", "54": "西藏自治区", "50": "重庆市",
    "61": "陕西省", "62": "甘肃省", "63": "青海省", "64": "宁夏回族自治区", "65": "新疆维吾尔自治区",
    "83": "台湾省", "81": "香港特别行政区", "82": "澳门特别行政区"
}

while True:
    sfz = input("请输入身份证号：")
    for i in provinces:
        if sfz.__len__() == 18:
            if sfz.startswith(i) and sfz.__len__() == 18:
                print("来自" + provinces[i])
                break
        else:
            print("输入省份证号格式有误！")
            break

